﻿<HTML>
<HEAD>
    <SCRIPT LANGUAGE="javascript">
    导出function AutomateExcel()
    {

    // Start Excel and get Application object.
    var oXL = new ActiveXObject("Excel.Application");

    oXL.Visible = true;

    // Get a new workbook.
    var oWB = oXL.Workbooks.Add();
    var oSheet = oWB.ActiveSheet;

    // Add table headers going cell by cell.
    oSheet.Cells(1, 1).Value = "First Name";
    oSheet.Cells(1, 2).Value = "Last Name";
    oSheet.Cells(1, 3).Value = "Full Name";
    oSheet.Cells(1, 4).Value = "Salary";

    // Format A1:D1 as bold, vertical alignment = center.
    oSheet.Range("A1", "D1").Font.Bold = true;
    oSheet.Range("A1", "D1").VerticalAlignment = -4108; //xlVAlignCenter

    // Create an array to set multiple values at once.

    // Fill A2:B6 with an array of values (from VBScript).
    oSheet.Range("A2", "B6").Value = CreateNamesArray();

    // Fill C2:C6 with a relative formula (=A2 & " " & B2).
    var oRng = oSheet.Range("C2", "C6");
    oRng.Formula = "=A2 & " " & B2";

    // Fill D2:D6 with a formula(=RAND()*100000) and apply format.
    oRng = oSheet.Range("D2", "D6");
    oRng.Formula = "=RAND()*100000";
    oRng.NumberFormat = "$0.00";

    // AutoFit columns A:D.
    oRng = oSheet.Range("A1", "D1");
    oRng.EntireColumn.AutoFit();

    // Manipulate a variable number of columns for Quarterly Sales Data.
    DispalyQuarterlySales(oSheet);

    // Make sure Excel is visible and give the user control
    // of Excel's lifetime.
    oXL.Visible = true;
    oXL.UserControl = true;
    }

function AutomateExcel()
{
　　
var oXL = new ActiveXObject("Excel.Application"); //创建应该对象
var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿
var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表
var table = document.all.data;//指定要写入的数据源的id
var hang = table.rows.length;//取数据源行数
var lie = table.rows(0).cells.length;//取数据源列数
　　
// Add table headers going cell by cell.
for (i=0;i<hang;i++){//在Excel中写行
for (j=0;j<lie;j++){//在Excel中写列
//定义格式
oSheet.Cells(i+1,j+1).NumberFormatLocal = "@";
//!!!!上面这一句是将单元格的格式定义为文本
oSheet.Cells(i+1,j+1).Font.Bold = true;//加粗
oSheet.Cells(i+1,j+1).Font.Size = 10;//字体大小
oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;//向单元格写入值
}
}
oXL.Visible = true;
oXL.UserControl = true;
}
//-->
    </SCRIPT>
</HEAD>

<BODY>
    <table border="0" width="300" id="data" bgcolor="black" cellspacing="1">
        <tr bgcolor="white">
            <td>编号</td>
            <td>姓名</td>
            <td>年龄</td>
            <td>性别</td>
        </tr>
        <tr bgcolor="white">
            <td>0001</td>
            <td>张三</td>
            <td>22</td>
            <td>女</td>
        </tr>
        <tr bgcolor="white">
            <td>0002</td>
            <td>李四</td>
            <td>23</td>
            <td>男</td>
        </tr>
    </table>
    <input type="button" name="out_excel" onclick="AutomateExcel();" value="导出到excel">
</BODY>
</HTML>